package cn.youwan.market.utils;

import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class StringUtils
{
	
	private final static SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
	private final static SimpleDateFormat dateFormater2 = new SimpleDateFormat("yyyy-MM-dd hh:mm");
	private final static DecimalFormat percentFormater = new DecimalFormat("##%");
	
	/**
	 * @param data 请求服务器所返回的数据
	 * @return 如果数据有效则返回true
	 */
	public static boolean isValid(String data)
	{
		return (data != null && !"fail".equals(data) && !"timeout".equals(data));
	}
	
	/**
	 * 判断给定字符串是否空白串。
	 * 空白串是指由空格、制表符、回车符、换行符组成的字符串
	 * 若输入字符串为null或空字符串，返回true
	 * @param input
	 * @return boolean
	 */
	public static boolean isEmpty(String input)
	{
		if (input == null || "".equals(input))
			return true;
		
		for (int i = 0; i < input.length(); i++)
		{
			char c = input.charAt(i);
			if (c != ' ' && c != '\t' && c != '\r' && c != '\n')
			{
				return false;
			}
		}
		return true;
	}
	
	/**
	 * @param downloads
	 * @return 返回下载次数；小于1万次直接返回相应的次数；大于1万次的以"万次下载"为单位
	 */
	public static String getDownloads(int downloads)
	{
		if(downloads < 10000)
		{
			return downloads+"次下载";
		}
		else
		{
			java.text.DecimalFormat df = new java.text.DecimalFormat("####.#");
			String res = df.format(downloads / 10000f);
			if(res.endsWith("0"))
			{
				return res.substring(0, res.length()-2) + "万次下载";
			}
			else
			{
				return res + "万次下载";
			}
		}
	}
	
	/**
	 * @param time long类型的日期
	 * @return yyyy-mm-dd 格式的日期
	 */
	public static String getDate(long time)
	{
		Date date = new Date(time);
		return dateFormater.format(date);
	}
	
	
	/**
	 * @param time long类型日期格式
	 * @return yyyy-mm-dd hh:mm
	 */
	public static String getDateTime(long time)
	{
		Date d = new Date(time);
		return dateFormater2.format(d);
	}
	
	
	public static String getPercent(int currentSize, int totalSize)
	{
		return totalSize == 0 ? "" : percentFormater.format(currentSize / (float)totalSize);
	}
}
